package com.moyu.myadmin.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.moyu.myadmin.dao.entity.SysPermissionEntity;
import com.moyu.myadmin.model.dto.SysPermissionDTO;
import com.moyu.myadmin.model.vo.SysPermissionVO;
import com.moyu.myadmin.model.vo.SysRolePermissionVO;
import com.moyu.myadmin.utils.QueryData;

import java.util.List;

/**
 * 角色权限
 *
 * @email jiaomingyu5778@gmail.com
 * @date 2022-02-11 10:33:30
 */
public interface SysPermissionService extends IService<SysPermissionEntity> {

    /**
     * 分页重新
     * @param queryData 查询参数
     * @return 查询结果
     */
    Page<SysPermissionVO> queryListPage(QueryData<SysPermissionDTO> queryData);

    /**
     * 角色保存
     * @param dto 保存对象
     * @return 成功 失败
     */
    boolean save(SysPermissionDTO dto);

    /**
     * 批量报错角色授权信息
     * @param list 保存数据信息
     * @return 成功失败
     */
    boolean saveOrUpdateBatch(List<SysPermissionDTO> list);

    /**
     * 查询角色授权信息
     * @param roleId 角色ID
     * @return 菜单信息，角色信息
     */
    SysRolePermissionVO queryPermissionByRoleId(String roleId);

    /**
     * 根据 roleId 删除授权信息
     * @param roleId 角色ID
     * @return 成功、失败
     */
    boolean removeByRoleId(String roleId);
}

